录音
准备
硬件:
- FireBeetle-ESP32 × 1
- FireBeetle Covers-Camera&Audio Media Board模块 × 1 (点击查看模块详情)
- SD卡 × 1 注意:模块上板载麦克风,如果外接麦克风,板载麦克风将被禁用
软件:
- uPyCraft IDE
代码位置:
- File → Examples → Audio → recorder.py
实验步骤
1. 下载运行 recorder.py 文件,具体代码如下
#硬件平台:FireBeetle-ESP32
from machine import IIS
from machine import Pin
import time
recorder = IIS(IIS.RECORDER) #创建iis音频接口对象
button = Pin(16, Pin.IN)
def mycb(path):
print("callback : record " + path + " is done ")
recorder.init() #初始化录音
recorder.set_nchannels(2) #设置录音通道
recorder.set_sampwidth(16) #设置样本宽度
recorder.set_framerate(16000) #设置样本频率
recorder.record('/sd//dir1///dir2/hidfrobot.wav') #设置录音的存储地址
recorder.set_endcallback(mycb) #设置录音完成回调函数
#捕获异常,如果意外中断,停止录音
try:
while True:
if button.value() == 0: #按钮按下,停止录音
recorder.stop()
elif recorder.get_busy() == False: #如果录音停止了,结束程序
print("record finished")
break
except:
recorder.stop()
2. 运行后开始录音,按下模块上的user按钮即可停止录音,如下图